import {
  ObjectOnlyPushSet,
  removeObjectOnlyPushSet,
} from '../../../../../../../../global/Func/ObjectOnlyPushSet_operate';
import { unit_user_active } from './cla_unit_user_active';

const global_user_activeTag = 'global_user_active';

export class global_user_active {
  get [Symbol.toStringTag]() {
    return global_user_activeTag;
  }
  constructor() {}

  data: string[] = [];

  /**
   * 添加 一个 用户 登录 状态
   * @param login_time 登录 时间
   * @param identity 用户 唯一 id
   */
  login_user(login_time: string, identity: string) {
    ObjectOnlyPushSet(
      this,
      identity,
      new unit_user_active(login_time, identity)
    );
  }

  /**
   * 移除 一个 用户 登录 状态
   * @param identity 用户 唯一 id
   */
  logout_user(identity: string) {
    return removeObjectOnlyPushSet(this, identity);
  }

  /**
   * 查询 用户 是否在线
   * @param identity 用户 唯一 id
   */
  is_active(identity: string) {
    return this.data.includes(identity);
  }
}
